Skip to content

Repère les termes du glossaire entre parenthèses ou avant un point final (#116) - #118

Merged
jaz-on merged 1 commit into
Association-WPFR:release/3.1.2from
clementpolito:fix/glossaire-bornes-116
Nov 1, 2026
Merged

jaz-on merged 1 commit into
Association-WPFR:release/3.1.2from
clementpolito:fix/glossaire-bornes-116

Conversation

@clementpolito

@clementpolito clementpolito commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Corrige #116 et #119.

Problème

Un terme du glossaire n'était pas signalé quand il était :

  • entre parenthèses, ex. « le dossier de téléversement (uploads) » ;
  • suivi d'un point, ex. « …dans le dossier uploads. ».

Cause (getGlossaryRegex, entrypoints/spte.content.js) : la regex joignait les termes avec leurs bornes, si bien que le premier terme n'avait pas de lookbehind et que seul le dernier acceptait un point final. Les parenthèses ne faisaient pas partie des bornes.

Correction

  • Le lookbehind et le lookahead entourent maintenant tout le groupe des termes.
  • ( est accepté avant le terme ; ), !, ? et » sont acceptés après.
  • Le point n'est une borne que s'il est suivi d'un espace ou de la fin du texte, pour ne pas signaler widget.php.

Tests

Bloc « bornes du terme » dans tests/spte.content.test.js : 7 cas repérés (parenthèses, point final sur le premier terme et sur un terme du milieu, !, début de chaîne, guillemets droits) et 3 cas non repérés (widget.php, widgetisé, « widget »). Sans le correctif, 5 de ces tests échouent.

Cas vérifiés avec l'ancienne et la nouvelle regex (aucun n'était détecté avant, tous le sont maintenant) :

  1. …dans le dossier de téléversement (uploads). Les fichiers qui n’ont pas été ajoutés… : terme entre parenthèses, suivi d'un point et d'une autre phrase ;
  2. …dans le dossier de téléversement uploads. Les fichiers qui n’ont pas été ajoutés… : terme suivi d'un point et d'une autre phrase ;
  3. …dans le dossier de téléversement uploads. : terme suivi d'un point en fin de chaîne.

Vérifié aussi sur de vraies chaînes de translate.wordpress.org (plugin offair), dans Firefox avec le build de la branche : « (uploads) » et « uploads. » sont surlignés. Pour « uploads. », le script de contenu des builds avec et sans correctif a aussi été exécuté dans jsdom sur la page de la traduction ci-dessous : surligné avec le correctif, pas sans.

Pour vérifier

Pages de translate.wordpress.org avec SPTE chargé :

Tester sur les chaînes rejetées

SPTE ne traite pas les traductions rejetées (checkTranslation, depuis la 3.0.0). Or la chaîne « uploads. » ci-dessus est rejetée. Pour y voir le surlignage, il faut modifier temporairement l'extension, sans commiter, et afficher les erreurs sur les chaînes rejetées.

Dans entrypoints/spte.content.js, ligne 73 de checkTranslation, remplacer :

if (!preview || (preview.classList.contains('status-rejected') && newStatus !== 'rejected')) { return; }

par :

if (!preview) { return; }

Puis npm run build:firefox (ou npm run build) et recharger l'extension. Les chaînes rejetées sont alors analysées comme les autres, et leurs avertissements comptés. Sans le correctif, « uploads. » n'est pas surligné sur cette chaîne ; avec le correctif, il l'est.

Comportement inchangé

Un terme entre guillemets français (« uploads », espaces insécables comprises) n'est toujours pas signalé : c'est une citation, comme pour les autres mots du glossaire.

Proposition de ligne pour le CHANGELOG

Fixed

  • Les termes du glossaire entre parenthèses ou suivis d'un point sont maintenant signalés (ex. (uploads), dossier uploads.).

…nal (Association-WPFR#116)

Le lookbehind et le lookahead entourent désormais tout le groupe des termes : avant, le premier terme n'avait pas de lookbehind et seul le dernier acceptait un point final. Les parenthèses et la ponctuation finale (! ? ») sont acceptées comme bornes.
@clementpolito
clementpolito requested a review from jaz-on as a code owner October 15, 2026 09:45
@jaz-on jaz-on mentioned this pull request Nov 1, 2026
@jaz-on
jaz-on changed the base branch from main to release/3.1.2 November 1, 2026 19:45
@jaz-on
jaz-on merged commit 7b98f68 into Association-WPFR:release/3.1.2 Nov 1, 2026
1 check passed
jaz-on added a commit that referenced this pull request Nov 1, 2026
* Prépare la version 3.1.2

* Ne signale plus les termes inclus dans un nom de marque ou d'extension (#126)

* Ne signale plus les termes inclus dans un nom de marque ou d'extension

Les mots du glossaire ou de la liste intégrée qui font partie d'un nom de marque ou d'extension cité dans la traduction (ex: « Search » dans « Google Search Console ») ne sont plus signalés. La liste figure dans utils/product-names.js et ne retient que les noms qui contiennent un mot signalé ; les termes génériques de WordPress et les noms d'extensions traduits en français en sont exclus.

* Ajoute plusieurs noms de produits et de marques à la liste des noms ignorés

Everest Forms, Fluent Forms, Forminator Forms, Mailster Forms, WS Forms, les extensions WooCommerce Analytics, Shipping et Subscriptions, Klarna/Kustom Checkout, Payoneer Checkout, Premium/Ultimate Addons for Elementor, et Mountain View.

* Ajoute The Events Calendar à la liste des noms ignorés

* Repère les termes du glossaire entre parenthèses ou avant un point final (#116) (#118)

Le lookbehind et le lookahead entourent désormais tout le groupe des termes : avant, le premier terme n'avait pas de lookbehind et seul le dernier acceptait un point final. Les parenthèses et la ponctuation finale (! ? ») sont acceptées comme bornes.

* Laisse GlotDict remonter la locale fr_FR sur la page d'accueil (#117)

Sur translate.wordpress.org, GlotDict clone la carte de la locale courante
en tête de liste (gd_current_locale_first). SPTE déplaçait aussi la carte
d'origine en première position : les deux cartes fr_FR se retrouvaient
côte à côte. SPTE s'efface désormais quand GlotDict est présent, comme il
le fait déjà pour le tableau des locales d'un projet.

* Bump the npm-minor-patch group with 7 updates (#127)

Bumps the npm-minor-patch group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.16` | `3.4.17` |
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.3` | `5.0.5` |
| [addons-linter](https://github.com/mozilla/addons-linter) | `10.13.0` | `10.15.0` |
| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.13.0` |
| [jsdom](https://github.com/jsdom/jsdom) | `30.1.1` | `30.1.3` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.3` | `5.0.5` |
| [wxt](https://github.com/wxt-dev/wxt) | `0.21.4` | `0.21.5` |


Updates `dompurify` from 3.4.16 to 3.4.17
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](cure53/DOMPurify@3.4.16...3.4.17)

Updates `@vitest/coverage-v8` from 5.0.3 to 5.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.5/packages/coverage-v8)

Updates `addons-linter` from 10.13.0 to 10.15.0
- [Release notes](https://github.com/mozilla/addons-linter/releases)
- [Commits](mozilla/addons-linter@10.13.0...10.15.0)

Updates `eslint` from 10.11.0 to 10.13.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v10.11.0...v10.13.0)

Updates `jsdom` from 30.1.1 to 30.1.3
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](jsdom/jsdom@v30.1.1...v30.1.3)

Updates `vitest` from 5.0.3 to 5.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.5/packages/vitest)

Updates `wxt` from 0.21.4 to 0.21.5
- [Release notes](https://github.com/wxt-dev/wxt/releases)
- [Commits](wxt-dev/wxt@wxt-v0.21.4...wxt-v0.21.5)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.4.17
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
- dependency-name: addons-linter
  dependency-version: 10.15.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor-patch
- dependency-name: eslint
  dependency-version: 10.13.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor-patch
- dependency-name: jsdom
  dependency-version: 30.1.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
- dependency-name: vitest
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
- dependency-name: wxt
  dependency-version: 0.21.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump fast-uri from 3.1.8 to 3.1.9 (#124)

Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.8 to 3.1.9.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](fastify/fast-uri@v3.1.8...v3.1.9)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump undici from 7.29.1 to 7.30.1 (#123)

Bumps [undici](https://github.com/nodejs/undici) from 7.29.1 to 7.30.1.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v7.29.1...v7.30.1)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.30.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump dompurify from 3.4.16 to 3.4.17 (#122)

Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.4.16 to 3.4.17.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](cure53/DOMPurify@3.4.16...3.4.17)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.4.17
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump vite from 8.3.0 to 8.3.4 (#120)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.3.0 to 8.3.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.3.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.3.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Ajoute le CHANGELOG de la 3.1.2

* Signale les termes du glossaire précédés d’une apostrophe courbe

* Force minimatch 11 pour eslint et renforce le test des noms de marque

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Clément Polito <bonjour@clementpolito.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants